/*
 * SearchStage.fx
 *
 * Created on 04-may-2009, 20:41:42
 */

package webooksfx.view;


import webooksfx.controller.SearchControl;
import webooksfx.model.ColeccionLibros;
import webooksfx.model.Servicio;
import webooksfx.view.View;

/**
 * @author Administrador
 */
abstract public class SearchView extends View {
    // CONTROLADORA
	public var searchControl : SearchControl = null;

    // MODELO
	public var coleccionLibros : ColeccionLibros = null;
	public var servicios : Servicio[] = null;

    // VARIABLES
    protected var servicioSeleccionado : Servicio = null;
    protected var query: String;
    protected var pag_actual: Integer = 1;
	protected var criterio : String = "";

    public function search() : Void {
		if ( criterio == "" ){
			this.searchControl.search(servicioSeleccionado.id, query, pag_actual);
		}else{
			this.searchControl.search(servicioSeleccionado.id, query, pag_actual, criterio);
		}
    }

    public function getServices() : Void {
        this.searchControl.getServices();
    }

	public function showLoading () : Void {}

	public function hideLoading () : Void {}
	
    public function setServicios (s: Servicio[]) : Void {
        this.servicios = s;
		if ( sizeof servicios > 0 ){
			//Por defecto, iniciamos con el servicio 0
			this.servicioSeleccionado = servicios[0];
		}
		onServiciosChange();
    }

	public function onServiciosChange () : Void {}

    public function setColeccion (c: ColeccionLibros) : Void {
        this.coleccionLibros = c;
    }

    /**
     * Muestra el resultado de la busqueda en pantalla.
     */
    abstract public function showResult() : Void;
}